home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2004 #9 / Amiga Plus CD - 2004 - No. 09.iso / amigaplus / tools / amigaos4_only / ifxlite / imagefx3 / rexx / autofx / eot_pondripple.ifx < prev    next >
Text File  |  2004-08-03  |  3KB  |  109 lines

  1. /*
  2.  * $VER: EOT_PondRipple.ifx 2.6 (24.04.96)
  3.  * Copyright © 1992-1996 Nova Design, Inc.
  4.  * Written by Ola Eric Olsson
  5.  */
  6.  
  7. OPTIONS RESULTS
  8.  
  9. framenum = Word(Arg(1),1)
  10. mainname = Word(Arg(1),2)
  11. swapname = Word(Arg(1),3)
  12. seqnum   = Word(Arg(1),4)
  13. framemax = Word(Arg(1),5)
  14.  
  15. base  = 'autofx_pondripple_'
  16.  
  17. xcen       = GETCLIP(base||'xcen')
  18. ycen       = GETCLIP(base||'ycen')
  19. startsize  = GETCLIP(base||'startsize')
  20. endsize    = GETCLIP(base||'endsize')
  21. amp        = GETCLIP(base||'amp')
  22. startrad   = GETCLIP(base||'startrad')
  23. damp       = GETCLIP(base||'damp')
  24.  
  25.  
  26. /*
  27.  * text.1 = '"     Xcen: '||xcen||'"'
  28.  * text.2 = '"     Ycen: '||ycen||'"'
  29.  * text.3 = '"Startsize: '||startsize||'"'
  30.  * text.4 = '"  Endsize: '||endsize||'"'
  31.  * text.5 = '"      Amp: '||amp||'"'
  32.  * text.6 = '" Startrad: '||startrad||'"'
  33.  * text.7 = '"     Damp: '||damp||'"'
  34.  *
  35.  * top = 0
  36.  * title = '"Test"'
  37.  * DO i = 1 to 7
  38.  *    top = top+20
  39.  *    gad.i = 'TEXT LE=160 TE='top' WD=1 HT=1 LB='text.i' JU=1'
  40.  * END
  41.  *
  42.  * gad.8 = 'END'
  43.  *
  44.  * newcomplexrequest title gad 380 160
  45.  * IF rc ~= 0 THEN EXIT rc
  46.  *
  47.  */
  48.  
  49. GetMain
  50. IF RC ~= 0 THEN EXIT rc
  51. PARSE VAR RESULT name width height .
  52.  
  53. IF xcen = -1 THEN xcen = width%2
  54. IF ycen = -1 THEN ycen = height%2
  55.  
  56. centered = 1
  57. CALL getrad
  58. maxrad = rad*1.2
  59.  
  60. sizediff = endsize - startsize
  61.  
  62. size   = TRUNC(startsize + (sizediff * (framenum-1)/(framemax-1)))
  63. a      = 360 * (framenum-1) / (framemax-1)
  64. outrad = TRUNC(startrad + ((framenum-1)*(maxrad/framemax)))
  65. ampl   = TRUNC(amp - (80*(framenum/framemax)))
  66.  
  67. Hook Wave Amplitude ampl Length size Angle a ,
  68.    CenterX xcen CenterY ycen Distance outrad Dampen damp Inward AntiAlias Stretch
  69.  
  70. EXIT
  71.  
  72. /******************************************************************/
  73. /** Calculates max radius                                        **/
  74. /******************************************************************/
  75.  
  76. getrad:
  77.  
  78. IF centered = 1 THEN
  79. DO
  80.    opp = height/2
  81.    adj = width/2
  82.    rad = TRUNC(SQRT((opp**2)+(adj**2)),4)
  83. END
  84. ELSE
  85. DO
  86.    IF xcen > (width/2) THEN adj = xcen
  87.    ELSE adj = (width-xcen)
  88.  
  89.    IF ycen > (height/2) THEN opp = ycen
  90.    ELSE opp = (height-ycen)
  91.  
  92.    rad = TRUNC(SQRT((opp**2)+(adj**2)),4)
  93. END
  94.  
  95. RETURN
  96.  
  97. /******************************************************************/
  98. /** Rounds numbers                                               **/
  99. /******************************************************************/
  100.  
  101. ROUND:
  102.  
  103. PARSE ARG number
  104.  
  105. IF ABS(number) < 1 THEN RETURN(TRUNC(number))
  106. number = TRUNC(number)+((number//TRUNC(number))>=.5)
  107.  
  108. RETURN(number)
  109.